package com.eedi.framework.org.service;

import com.eedi.framework.org.controller.sys.vo.*;
import com.eedi.framework.common.pojo.PageResult;
import com.eedi.framework.org.controller.sys.vo.*;

public interface SysOrgService {

    /**
     * 机构信息分页查询
     * @param req 查询对象
     * @return 返回信息
     */
    PageResult<SysOrgInfoResp> page(SysOrgPageReq req);

    /**
     * 机构创建
     * @param req 查询对象
     * @return 返回信息
     */
    SysOrgCreateResp create(SysOrgCreateReq req, String sysTenantId);


    /**
     * 重置机构的系统管理员密码为默认密码
     *  @param orgUserId 用户编号
     */
    String resetPassword(String orgUserId);

    /**
     * 查询机构详情
     * @param orgInfoId 机构Id
     * @return
     */
    SysOrgInfoDetailsResp get(String orgInfoId);

    /**
     * 查询租户下的机构数量（包含启用、禁用状态）
     * @return 机构数量
     */
    Long countSysOrgInfo();

    /**
     * 更新机构信息
     * @param req
     */
    void updateOrgInfo(SysOrgUpReq req);
}
